
var TXT_FAVORITOS = "¡A favoritos!";
var TXT_C2 = "¡Combínala!";


var LOCATION = "http://www.mobymultiopticas.com/";

if(window.location.href.indexOf("localhost")!=-1 || window.location.href.indexOf("192.168.1.150")!=-1){
	LOCATION = "http://192.168.1.150/mo2013verano/";
}


var datosJSONcargados = false;
var datosJSON="";
var seccionBase = window.location.hash;


var combina2mo = "";
var combina2sun = "";
var showC2tab = false;

var fichaAbierta = false;
var fichaEnIframe = false;



function cargaDatosJSON(){
	
	if( datosJSONcargados == true) {
		despachaEvento("JSONCargado");
		return;
	}
	
	var jqxhr = $.getJSON( "getJSON.php", function() {
		
	})
	.done(function( data ) {
		
		var datosFiltrados = [];
		
		$.each( data, function( i, item ) {
			
			if(item.active=="0" || item.itemcode == "20400872"){
				return "JQcontinue"; //Es como un continue para el each de JQ
			}
			
			datosFiltrados.push(item);
			
		});
		
		
		datosJSONcargados = true;
		datosJSON = datosFiltrados;
		despachaEvento("JSONCargado");
	})
	.fail(cargaDatosJSON)

}

/*******
*	COMBINA 2
********/

function addC2( id, tipo ){
	parent.closePopupFicha();
	if(tipo=="mo")combina2mo = id;
	if(tipo=="mo_sun")combina2sun = id;
	window.location.hash = "#/combina2";
	despachaEvento("c2added");
}


function removeC2( id ){
	despachaEvento("c2removed");
}



/*******
*	FAVORITOS
********/

var favoritos = [];

jQuery(function() {
	favoritos = str2arr($.cookie("mobymultiopticas_favoritos"));
});



function addFavorito(fav){

  var newFavoritoExiste = JSLINQ(top.favoritos)
	  		.Count(function(item){return item == fav});
	
	if(!newFavoritoExiste){
		top.favoritos.push(fav);

		$.cookie(
			"mobymultiopticas_favoritos", 
			arr2str(top.favoritos),
			{ expires : 999 }
			);

	}

	top.despachaEvento("favoritoAdded");	
	

	if(fichaEnIframe){
		favoritos = top.favoritos;
		despachaEvento("favoritoAdded");
	}
	
}


function removeFavorito( code ){
	
	for ( var i = 0; i < top.favoritos.length; i++ ){

		if(top.favoritos[i]==code){
			top.favoritos.splice(i,1);
			$.cookie(
				"mobymultiopticas_favoritos", 
				arr2str(top.favoritos),
				{ expires : 999 }
			);
			break;
		}

	}
	
	top.despachaEvento("favoritoRemoved");
	
	if(fichaEnIframe){
		favoritos = top.favoritos;
		despachaEvento("favoritoRemoved");
	}
		
}


function str2arr( item ){
	
	if(item && item!=""){
		return item.split("--");
	}
	
	return [];
	
}

function arr2str( item ){
	return item.join("--");
}


function stringifyFavorito( item ){
	return JSON.stringify( item ).split('"').join("!");
}

function getFavoritoJSON( item ){
	return JSON.parse( item.split('!').join('"') );
}




/*
function addFavorito(fav){

  newFavorito = getFavoritoJSON(fav);
	
  var newFavoritoExiste = JSLINQ(favoritos).
           Count(function(item){return item.itemcode == newFavorito.itemcode;});

	if(!newFavoritoExiste){
		favoritos.push(newFavorito);
		$.cookie(
			"mobymultiopticas_favoritos", 
			stringifyFavorito(favoritos),
			{ expires : 999 }
			);

	}
	
	despachaEvento("favoritoAdded");
	
}


function removeFavorito( code ){
	
	for ( var i = 0; i < favoritos.length; i++ ){

		if(favoritos[i].itemcode==code){
			favoritos.splice(i,1);
			$.cookie(
				"mobymultiopticas_favoritos", 
				stringifyFavorito(favoritos),
				{ expires : 999 }
			);
			break;
		}

	}
	
	despachaEvento("favoritoRemoved");
		
}
*/



/*******			
* Ficha
********/

var PRECIO_ESTANDAR = "57€ cristales incluidos";
var PRECIO_MOPLUS = "Consulta el precio en la óptica";
			
var currentFicha = "";
			
function navigationHandlerCatalogo(){
	
	var ficha = (window.location.hash).split("ficha/")[1];
	
	if(ficha==null)return;
	
	if(ficha){
		pintaFicha(ficha);
	}
	
}

function cerrarFicha(){
	$("#div_ficha").fadeOut();
	//$("body").css("overflow","auto");
	fichaAbierta = false;
	
	window.location.href=seccionBase;
}	


function pintaFicha(ficha){
	
	top.fb_capt = "¿Sabías que ahora puedes conseguir unas gafas graduadas + otras de sol graduadas por solo 97€, con los cristales de ambas incluidos?";
	top.fb_desc = "¡Entra y elige las tuyas!";
	top.fb_pic = "http://intranet.multiopticas.com/warehouse/product_uploaded_images/intranet/thumb/"+ficha+".jpg";
	
	if( !datosJSON ){
		return;
	}
	
	currentFicha = ficha;
	
	var pathFoto = "http://intranet.multiopticas.com/warehouse/product_uploaded_images/intranet/large/" + ficha + ".jpg";
	
	$("#img_ficha_foto").attr("src",pathFoto);
		
	var buscarID = JSLINQ( datosJSON )
	                   .Where(function(item){ return item.itemcode == ficha; });
	                   //.OrderBy(function(item) { return item.FirstName; })
	                   //.Select(function(item){ return item.itemcode; });
	
	var item = buscarID.items[0];
	

	var precio = PRECIO_ESTANDAR;
	
	if(item.collections_code.indexOf("PLUS") != -1){
		precio = PRECIO_MOPLUS;
	}

	var favoritoHTML = '<a href="javascript:;" onMouseDown="addFavorito(\'' + item.itemcode + '\');pintaFicha(' + currentFicha + ')"><img src="img/corazon_off.gif" style="margin-top:-2px; margin-right:6px">Agregar a favoritos</a><br>';
	
	var itemColorFavorito = JSLINQ(favoritos).
           Count(function(it){return it == item.itemcode;});

	if(itemColorFavorito){
		favoritoHTML = '<a href="javascript:;" onMouseDown="removeFavorito(\'' + item.itemcode + '\');pintaFicha(' + currentFicha + ')"><img src="img/corazon.gif" style="margin-top:-2px; margin-right:6px">Quitar de favoritos</a><br>';
	}
	
	var esSun = false;
	var esSunCombina2 = false;
	
	if(item.collections_code.indexOf("SUN")!=-1){
		esSun = true;
		if(item.collections_code.indexOf("RX")!=-1){
			esSunCombina2 = true;
		}
	}
	
	
	if(esSun){
		precio = PRECIO_MOPLUS;
	}
	
	var addC2tipo = esSun?"mo_sun":"mo";
	
	var abrirEnPadre = fichaEnIframe?'parent.':'';
	
	var combina2HTML = esSunCombina2 || !esSun ? '<a href="javascript:;" onMouseDown="cerrarFicha();' + abrirEnPadre + 'addC2(' + item.itemcode + ',\'' + addC2tipo + '\');"><img src="img/c2.gif" style="margin-top:-2px; margin-right:5px">Combinar graduada +<br><div style="margin-left:20px">sol graduada</div></a>' : '';
	
	
	var datosFichaHTML = "";
		datosFichaHTML += '<font class="bold1">' + item.itemname.toLowerCase() + '</font><br><br>';
		//datosFichaHTML += 'Referencia: ' + item.itemcode + '<br>';
		//datosFichaHTML += item.itemcolordesc + '<br>';
		datosFichaHTML += precio + '</font><br>';
		datosFichaHTML += '<img src="img/line_block.png" height="1" width="140"><br>';
		datosFichaHTML += favoritoHTML;
		datosFichaHTML += combina2HTML;
		datosFichaHTML += '<img src="img/line_block.png" height="1" width="140"><br>';
		datosFichaHTML += '<div style="width:200px">Compartir en:<a href="javascript:;" onMouseDown="top.compartirFacebook()"><img src="img/fb.png" style="margin-top:-2px; margin-left:5px"></a><a href="javascript:;" onMouseDown="top.compartirTwitter()"><img src="img/icon_twitter.gif" style="margin-top:-2px; margin-left:5px"></a>';
		datosFichaHTML += '</div><br>';
	$("#div_ficha_datos1").html( datosFichaHTML );
	
	var buscarOtrosColores = JSLINQ( datosJSON )
	                   .Where(function(it){ return ( (it.collections_code == item.collections_code) && (it.itemmodeldesc == item.itemmodeldesc) && (it.itemcode != item.itemcode) ); })
	                   //.OrderBy(function(item) { return item.FirstName; })
	                   //.Select(function(item){ return item.itemcode; });
	
	var itemColores = buscarOtrosColores.items;
	
	var otrosColoresHTML = "";
	
	if(itemColores.length>0){
		otrosColoresHTML = "Otros colores disponibles:<br><br>";
							
		for(var i=0; i<itemColores.length; i++){
			item = itemColores[i];
			
			favoritoHTML = '<a href="javascript:;" onMouseDown="addFavorito(\'' + item.itemcode + '\');pintaFicha(' + currentFicha + ')"><img  class="img_corazon" src="img/corazon_off.gif"></a>';

			itemColorFavorito = JSLINQ(favoritos).
		           Count(function(it){return it == item.itemcode;});

			if(itemColorFavorito){
				favoritoHTML = '<a href="javascript:;" onMouseDown="removeFavorito(\'' + item.itemcode + '\');pintaFicha(' + currentFicha + ')"><img  class="img_corazon" src="img/corazon.gif"></a>';
			}
			
			otrosColoresHTML += '<div class="div_resultado">';

			if(fichaEnIframe){
				otrosColoresHTML += '<a href="javascript:;" onMouseDown="pintaFicha(' + item.itemcode + ');"><img src="http://intranet.multiopticas.com/warehouse/product_uploaded_images/intranet/thumb/' + item.itemcode + '.jpg"></a>';
			}else{
				otrosColoresHTML += '<a href="' + seccionBase + '/ficha/' + item.itemcode + '"><img src="http://intranet.multiopticas.com/warehouse/product_uploaded_images/intranet/thumb/' + item.itemcode + '.jpg"></a>';
			}
			
			otrosColoresHTML += favoritoHTML;
			otrosColoresHTML += '</div>';
		}
	}
	
	$("#div_resultados_otroscolores").html( otrosColoresHTML );
	
	
	
	$("#div_ficha").fadeIn();
	//$("body").css("overflow","hidden");
	fichaAbierta = true;
	
}




